
TL;DR: 只需要執行Java程式或使用ABCL時,安裝JRE即可;需要Java開發工具時,請安裝JDK。安裝多個版本後,可以使用
update-java-alternatives切換,最後用java -version確認目前使用的版本。
通常Linux發行版大軟體倉庫有JAVA運行與開發工具的安裝套件。以我在使用的LinuxMint為例,可以透過apt search java進行查詢:
i java-common - Base package for Java runtimes
v java-common:i386 -
v java-compiler -
v java-compiler:i386 -
p java-package - Utility for creating Java Debian packages
p java-policy - Debian Java Policy
p java-propose-classpath - Helper script to suggest a classpath for j
v java-runtime -
v java-runtime:i386 -
v java-runtime-headless -
v java-runtime-headless:i386 -
v java-sdk -
v java-sdk:i386 -
v java-sdk-headless -
v java-sdk-headless:i386 -
i java-wrappers - wrappers for java executables
v java20-runtime:i386 -
v java20-runtime-headless -
v java20-runtime-headless:i386 -
v java20-sdk -
v java20-sdk:i386 -
v java20-sdk-headless -
v java20-sdk-headless:i386 -
v java21-runtime -
v java21-runtime:i386 -
v java21-runtime-headless -
v java21-runtime-headless:i386 -
v java21-sdk -
v java21-sdk:i386 -
v java21-sdk-headless -
v java21-sdk-headless:i386 -
在我的查詢當下,就有JAVA 18、19、20、21的版本可用(有更舊的)。可以都安裝,再透過update-java-alternatives進行切換。也可以在Oracle官方找到安裝套件。不過我更習慣使用OpenJDK的實現(Oracle的實現版本中,記得需要另外簽署一份協議。後來就逐漸習慣直接使用OpenJDK了),同樣可以用apt search openjdk查到:
p openjdk-18-doc - OpenJDK Development Kit (JDK) documentatio
p openjdk-18-jdk - OpenJDK Development Kit (JDK)
p openjdk-18-jre - OpenJDK Java runtime, using Hotspot JIT
p openjdk-18-jre-zero - Alternative JVM for OpenJDK, using Zero
p openjdk-18-source - OpenJDK Development Kit (JDK) source files
p openjdk-21-doc - OpenJDK Development Kit (JDK) documentatio
p openjdk-21-jdk - OpenJDK Development Kit (JDK)
p openjdk-21-jre - OpenJDK Java runtime, using Hotspot JIT
p openjdk-25-doc - OpenJDK Development Kit (JDK) documentatio
i openjdk-25-jdk - OpenJDK Development Kit (JDK)
i openjdk-25-jre - OpenJDK Java runtime, using Hotspot JIT
查詢的結果通常會看到JRE(runtime)和JDK(SDK)兩種。前者是給只需要JAVA運行的人安裝的,如果只打算使用ABCL去呼叫JavaFX,可以只安裝運行時環境(JRE),否則對於JAVA開發人員,可以直接選擇開發套件工具(SDK/JDK),同樣也會包含運行時環境。在查到需要安裝的套件後,使用sudo apt install <套件名稱>進行安裝,像是sudo apt install openjdk-25-jdk。可以安裝多個版本,同樣可以利用update-java-alternatives --list確認可切換的工具版本:
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64
java-1.25.0-openjdk-amd64 2511 /usr/lib/jvm/java-1.25.0-openjdk-amd64
然後透過sudo update-java-alternatives --set java-1.25.0-openjdk-amd64選擇替換使用的版本。java -version查詢當前的JAVA環境版本:
openjdk version "25.0.4" 2026-07-21
OpenJDK Runtime Environment (build 25.0.4+7-1-22.04-Ubuntu)
OpenJDK 64-Bit Server VM (build 25.0.4+7-1-22.04-Ubuntu, mixed mode, sharing)
我有安裝JDK,可以透過javac -version檢查JDK版本:javac 25.0.4。
update-alternatives進一步使用如果是可執行檔案的狀況,也可以設定JAVA_HOME環境變數,並在PATH變數添加${JAVA_HOME}/bin。甚至有時候我會直接明確指明需要使用的java執行路徑。但有運行版本管理套件還是比較方便的,對於個人使用來說,發行版帶的update-alternatives工具已經足夠多數時候使用。
除了前述使用update-java-alternatives,我可以透過update-alternatives --list java查詢可用的java位置:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
/usr/lib/jvm/java-25-openjdk-amd64/bin/java
然後直接透過路徑執行:
$(update-alternatives --list java|tail -n 1) -version
openjdk version "25.0.4" 2026-07-21
OpenJDK Runtime Environment (build 25.0.4+7-1-22.04-Ubuntu)
OpenJDK 64-Bit Server VM (build 25.0.4+7-1-22.04-Ubuntu, mixed mode, sharing)
通常java會放在JAVA_HOME的bin目錄下,像這樣可以鎖定OpenJDK 25的目錄位置:export JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64。
然後將${JAVA_HOME}/bin加入PATH環境變數下:export PATH="${JAVA_HOME}/bin":"${PATH}"。這樣同樣可以變更JAVA_HOME環境來找指定使用的JAVA版本。這也是Windows手動安裝JAVA的使用方式。
重新開啟終端機後,可以依序確認以下項目:
java -version,確認Java可以正常執行。javac -version,確認Java編譯器可以正常執行。which java,確認系統找到Java執行檔。readlink -f "$(which java)",確認實際使用的Java執行檔位於預期的版本目錄。JAVA_HOME,執行echo "$JAVA_HOME",確認它指向目前要使用的JDK目錄。